package com.ljf.config.web;

import com.ljf.common.result.ResultModel;
import com.ljf.common.utils.EnumUtil;
import com.ljf.config.enums.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 配置模块 枚举类 控制器
 *
 * @author LJF
 * @since 2025-06-26
 */
@RestController
@RequestMapping("/enum/config")
@Api(value = "配置模块枚举类接口", tags = "配置模块枚举类接口")
public class ConfigEnumController {

    @GetMapping("/impulse_sender_header/belong_service")
    @ApiOperation(value = "查询发号器配置表头归属服务枚举")
    public ResultModel getImpulseSenderHeaderBelongService() {
        return EnumUtil.getEnumVoResult(ConfigBaseImpulseSenderHeaderBelongServiceEnum.values());
    }

    @GetMapping("/impulse_sender_detail/type")
    @ApiOperation(value = "查询发号器配置明细类型枚举")
    public ResultModel getImpulseSenderDetailType() {
        return EnumUtil.getEnumVoResult(ConfigBaseImpulseSenderDetailTypeEnum.values());
    }

    @GetMapping("/impulse_sender_detail/type/date_format")
    @ApiOperation(value = "查询发号器配置明细时间格式枚举")
    public ResultModel getImpulseSenderDetailTypeDateFormat() {
        return EnumUtil.getEnumVoResult(ConfigBaseImpulseSenderDetailTypeDateFormatEnum.values());
    }

    @GetMapping("/impulse_sender_detail/type/serial_mode")
    @ApiOperation(value = "查询发号器配置明细流水模式枚举")
    public ResultModel getImpulseSenderDetailTypeSerialMode() {
        return EnumUtil.getEnumVoResult(ConfigBaseImpulseSenderDetailTypeSerialModeEnum.values());
    }

    @GetMapping("/impulse_sender_header/refresh_mode")
    @ApiOperation(value = "查询发号器配置表头刷新模式枚举")
    public ResultModel getImpulseSenderHeaderRefreshMode() {
        return EnumUtil.getEnumVoResult(ConfigBaseImpulseSenderHeaderRefreshModeEnum.values());
    }

    @GetMapping("/record_symbol/type")
    @ApiOperation(value = "查询记录标签配置类型枚举")
    public ResultModel getRecordSymbolType() {
        return EnumUtil.getEnumVoResult(ConfigDatRecordSymbolTypeEnum.values());
    }

}